找传奇、传世资源到传世资源站!

嵌入式C语言自我修养.pdf

8.5玩家评分(1人评分)
下载后可评
介绍 评论 失效链接反馈

嵌入式C语言自我修养 经典之作

封面第01课:Linux 内核中的 C 语言语法扩展1.1 Linux 内核驱动中的奇怪语法1.2 C 语言标准和编译器1.3 C 标准内容1.4 C 标准的发展过程1.5 编译器对 C 标准的支持1.6 编译器对 C 标准的扩展1.7 本教程主要内容1.8 本教程需要的学习环境第02课:Linux 内核驱动中的指定初始化2.1 什么是指定初始化2.2 指定初始化数组元素2.3 指定初始化结构体成员变量2.4 Linux 内核驱动注册2.5 指定初始化的好处第03课:宏构造利器:语句表达式3.1 基础复习:表达式、语句和代码块3.2 语句表达式3.3 在宏定义中使用语句表达式3.4 语句表达式在 Linux 内核中的使用第04课:Linux 内核第一宏:container_of4.1 typeof 关键字4.2 typeof 使用示例4.3 typeof 的其它使用方法4.4 继续完善 MAX(a,b) 宏4.5 typeof 在内核中的应用4.6 Linux 内核中的 container_of 宏4.7 container_of 宏实现分析第05课:零长度数组5.1 什么是零长度数组5.2 零长度数组使用示例5.3 零长度数组在内核中的使用5.3 思考:为什么不使用指针来代替零长度数组?第06课:U-boot镜像自拷贝分析:section属性6.1 GNU C 的扩展关键字:attribute6.2 属性声明:section6.3 U-boot 启动过程中的镜像自拷贝分析第07课:地址对齐那些事儿7.1 属性声明:aligned7.2 结构体的对齐7.3 思考:编译器一定会按照我们指定的大小对齐吗?7.4 属性声明:packed7.5 Linux内核中 aligned、packed 属性声明第08课:变参函数的格式检查8.1 属性声明:format8.2 变参函数的设计与实现8.3 实现自己的日志打印函数第09课:链接过程中的强符号和弱符号9.1 属性声明:weak9.2 强符号和弱符号9.3 函数的强符号和弱符号9.4 弱符号的用途9.5 属性声明:alias第10课:内联函数探究10.1 属性声明:noinline & always_inline10.2 什么是内联函数10.3 内联函数与宏10.4 编译器对内联函数的处理10.5 思考:内联函数为什么常使用 static 修饰?第11课:有一种函数,叫内建函数11.1 什么是内建函数11.2 常用内建函数11.3 C 标准库的内建函数11.4 内建函数:__builtinconstantp(n)11.5 内建函数:__builtin_expect(exp,c)11.6 内核中的 likely 和 unlikely第12课:有一种宏,叫可变参数宏12.1 什么是可变参数宏12.2 继续改进我们的宏12.3 可变参数宏的另一种写法12.4 内核中的可变参数宏第13课:总结13.1 总结13.2 C 语言习题测试13.3 结束语微信公众号技术文章汇总-20181 Autotools发展史2 学习嵌入式,C语言要掌握到什么程度?3 你为什么看不懂Linux内核驱动源码?4 设计一款CPU芯片到底有多难?5 一道程序改错题,测出你的嵌入式功底6 嵌入式经典书籍推荐7 GNU/Linux和Linux有什么区别?8 ARM跳转指令深度剖析9 ARM启动过程中你不知道的小秘密10 关于校招,应届生都应该过来看一看11 关于apt-get 软件安装那些事儿12 一个实现锁机制非常有意思的宏13 函数的可重入与线程安全的关系

评论

发表评论必须先登陆, 您可以 登陆 或者 注册新账号 !


在线咨询: 问题反馈
客服QQ:174666394

有问题请留言,看到后及时答复